package org.softee.functional;

public interface LazyFunctionalIterable<T> extends FunctionalIterable<T>{
    /**
     * @return a FuncionalIterable that will attempt (where appropriate) to process elements in concurrently,
     * using multiple threads to achieve better overall performance
     */
    ParallelFunctionalIterable<T> parallel();

    /**
     * CAUTION: May cause values to be iterated eagerly
     * @return the number of elements contained in this Iterable
     */
    long count();
}
